	   IDENTIFICATION DIVISION.
       PROGRAM-ID. SUB_CLIENTES.

       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       SPECIAL-NAMES.
           DECIMAL-POINT IS COMMA.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
       SELECT ARCH_CLIENTES   ASSIGN TO DISK
                              ORGANIZATION IS INDEXED
						      ACCESS MODE IS RANDOM
						      RECORD KEY IS CLI_NUMERO
						      ALTERNATE RECORD KEY IS CLI_DOCUMENTO
                              FILE STATUS IS ESTADO_CLIENTES.
								   
	   DATA DIVISION.
       FILE SECTION.
	   FD ARCH_CLIENTES       LABEL RECORD IS STANDARD
                              VALUE OF FILE-ID IS "..\CLIENTES.DAT".
	   01 REG_CLIENTES.
	       03 CLI_NUMERO PIC X(8).
		   03 CLI_FECHA_ALTA.
		       05 CLI_FECHA_ALTA_ANO PIC 9(4).
               05 CLI_FECHA_ALTA_MES PIC 9(2).
               05 CLI_FECHA_ALTA_DIA PIC 9(2).
		   03 CLI_TELEFONO PIC X(20).
		   03 CLI_DIRECCION PIC X(30).
		   03 CLI_DOCUMENTO PIC X(20).
	   WORKING-STORAGE SECTION.
      *VARIABLES DE FILE STATUS.
       01 ESTADO_CLIENTES PIC XX.
           88  OK_CLIENTES  VALUE '00'.
           88  NO_EXISTE_CLIENTES VALUE '23'.
           88  EOF_CLIENTES VALUE '10'.
	  
	   LINKAGE SECTION.
	  *PARAMETROS DE ENTRADA.
	   01 OPERACION PIC X.
	   01 DOCUMENTO PIC X(20).
	  *PARAMETROS DE SALIDA (CODIGO = 0 OK; CODIGO = 1 NO EXISTE)
	   01 CODIGO_RETORNO PIC 9.
	   01 REG_CLI_SALIDA.
		   03 CLI_NUMERO_SALIDA PIC X(8).
		   03 CLI_FECHA_ALTA_SALIDA.
		       05 CLI_FECHA_ALTA_ANO_SALIDA PIC 9(4).
               05 CLI_FECHA_ALTA_MES_SALIDA PIC 9(2).
               05 CLI_FECHA_ALTA_DIA_SALIDA PIC 9(2).
		   03 CLI_TELEFONO_SALIDA PIC X(20).
		   03 CLI_DIRECCION_SALIDA PIC X(30).
		   03 CLI_DOCUMENTO_SALIDA PIC X(20).
		   
	   PROCEDURE DIVISION USING  OPERACION, DOCUMENTO, CODIGO_RETORNO,
                                 REG_CLI_SALIDA.
	   IF OPERACION = 'O'
	       PERFORM ABRIR_ARCHIVO
		   EXIT PROGRAM
	   ELSE
           IF OPERACION = 'R'
           PERFORM LEER_ARCHIVO
           EXIT PROGRAM
       ELSE IF OPERACION = 'C'
           PERFORM CERRAR_ARCHIVO
           EXIT PROGRAM
       ELSE 
           PERFORM OPERACION_INVALIDA
           EXIT PROGRAM.
	   
	   
	   ABRIR_ARCHIVO.
	   OPEN INPUT ARCH_CLIENTES.
       IF  NOT OK_CLIENTES
           DISPLAY 'ERROR AL ABRIR EL ARCHIVO CLIENTES'
           MOVE 1 TO CODIGO_RETORNO
	   ELSE
	       MOVE 0 TO CODIGO_RETORNO.
	
	
	   CERRAR_ARCHIVO.
	   CLOSE ARCH_CLIENTES.
	   IF  NOT OK_CLIENTES
           DISPLAY 'ERROR AL CERRAR EL ARCHIVO CLIENTES'
           MOVE 1 TO CODIGO_RETORNO
	   ELSE
	       MOVE 0 TO CODIGO_RETORNO.
		
	   OPERACION_INVALIDA.
	   MOVE 1 TO CODIGO_RETORNO.
	  
	   LEER_ARCHIVO.
	   MOVE DOCUMENTO TO CLI_DOCUMENTO.
	   READ ARCH_CLIENTES RECORD KEY IS CLI_DOCUMENTO.
	   IF OK_CLIENTES
	       MOVE 0 TO CODIGO_RETORNO
		   MOVE REG_CLIENTES TO REG_CLI_SALIDA
	   ELSE 
	       MOVE 1 TO CODIGO_RETORNO.
	
	
	   END PROGRAM SUB_CLIENTES.